#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
int main()
{
	int arr[10] = { 0 };//10个整形元素数组
	int sz = 0;
	//10*sizeof(int)=40
	printf("%d\n",sizeof(arr));
	//计算数组的元素个数
	//个数 = 数组总大小（总字节） / 每个元素的大小(字节)
	sz = sizeof(arr) / sizeof(arr[0]);//因为每个数都是整形，所以是4字节，即除以任何一个元素都是一样的
	printf("sz=%d\n", sz);

	//int a = 10;
	////sizeof 计算的是变量/类型所占空间的大小，单位是字节byte
	//printf("%d\n", sizeof(a));// 4
	//printf("%d\n", sizeof a);// 4（变量的括号能省略）
	//printf("%d\n", sizeof(int));// 4
	return 0;
}


// 单目操作符（只有一个操作数）
//双目操作符
//三母操作符


//int main()
//{
	//int a = 10;
	//int b = 20;
	//int c = 0;
	//c = a + b;//+双目操作符（有两个操作数）
//	int a = 10;
//	printf("%d\n", a);//真 10
//	printf("%d\n", !a);//假 0  ！就是非逻辑， 真变假，假变真
//	return 0;
//}



//int main()
//{
//	int a = 10;// =符号是赋值； == 符号判断是否相等
//	a = a + 10;//1
//	a += 10;//2
//	a = a - 10;
//	a -= 10;
//	a = a & 10;
//	a &= 10;
//	//复合赋值符 还有 <<=  >>=   |=   ^=  /=  *=
//	// 1和2 完全等价
//	return 0;
//}


//int main()
//{
	//（2进制）位操作
	// & 按位与(与逻辑，两者都为1，出1。其它则为0)
	// | 按位或（或逻辑，；两者中任意一个为1，出1，只有2个0的时候出0）
	// ^ A按位异或（只有两者不同的时候为1，两者都为0或1，都为0）
	//int a = 3; 
	//int b = 5; 
	//int c = a & b;// 1
	//printf("%d\n",c);

	//return 0;
//}


//int main()
//{
	//移（2进制位）位操作符
	// <<左移
	// >>右移
	/*int a = 1;*/
	//int 占4个字节等于32个bit位
	//0000 0000 0000 0000 0000 0000 0000 0001
	//a << 1;
	//0000 0000 0000 0000 0000 0000 0000 0010
	/*int b = a << 1;
	printf("%d\n",b);
	return 0;*/
//}


//int main()
//{
//	//int a = 5 / 2;//  / 结果取商 a + 2
//	int a =5 % 2;// % 结果取余 a = 1
//	printf("%d\n", a);
//	return 0;
//}


//数组

//int main()
//{
//	int arr[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };//下标从0开始
//	//printf("%d\n", arr[4]);//即arr[下标](下标方式访问元素) : arr[4]=5
//	int i = 0;
//	while (i < 10)
//	{
//		printf("%d\n", arr[i]);
//		i++;
//	}
//	return 0;
//}




//int add(int x, int y)
//{
//	int z = x + y;
//	return z;
//}

//int main()
//{
//	int sum = 0;
//	int num1 = 10;
//	int num2 = 20;
//	int a = 20;
//	int b = 30;
//	//sum = num1 + num2;
//	printf("sum = %d\n", add(num1, num2));
//	printf("sum = %d\n", add(a, b));
//	return 0;
//}


// while 循环

//int main()
//{
//	int line = 0;
//	printf("加入比特\n");
//	while (line < 20000)
//	{
//		printf("敲一行代码: %d\n",line);
//		line++;
//	}
//	if (line>=20000)
//	printf("好offer\n"); 
//	return 0;
//}


//int main()
//{
//	int input = 0;
//	printf("你要好好学习吗？(1/0)>:");
//	scanf("%d", &input);
//	if (input == 1)
//		printf("好offer\n");
//	else
//		printf("卖地瓜\n");
//		return 0;
//}


// 转义字符 改变原来的意思

//int main()
//{
//	//printf("%d\n", strlen("c:\test\32\test.c"));// \32 是2个8进制数
//	printf("%c\n", '\32');// 32作为8进制代表的那个十进制数字3*(8^1) + 2*(8^0)=26，作为 ASCII 码值，对应的字符口
//	return 0;
//}


//int main()
//{
//	//printf("c:\test\32\test.c");
//	printf("c:\\test\\32\\test.c");//: \\ 用于表示一个反斜杠，防止它被解释为一个转义序列符。
//	       //     \\ 使斜杠就是一个普通的斜杠 \\ = \
//	return 0;
//}



//int main()
//{
//	//printf("abcn");//结果abcn
//	printf("abc\n");//结  abc换行
//	                //果  
//	return 0;
//}



//字符串类型 

//int main()
//{
//	char arr1[] = "abc";//数组
//	//"abc"='a','b','c','\0'(字符串结束标志（又称转义字符）， 它的值等于0)
//	char arr2[] = { 'a', 'b','c'};
//	//"abc"表示字符串； 'a'表示字符a
//	//printf("%s\n",arr1);
//	//printf("%s\n",arr2);
//	printf("%d\n", strlen(arr1));// 3
//	printf("%d\n", strlen(arr2));//随机值（直到遇到\0）strlen = string length - 计算字符串长度
//	return 0;                    //这是15 if在arr2中添加一个元素‘\0’，结果就是3
//}


//枚举( 关键词 - enum )常量： 一一列举

//enum Color
//{
//	red,
//	blue,
//	yellow
//};


//int main()
//{
//	enum Color color = blue;
//	printf("%d\n",color);
//	return 0;
//}

//enum Sex
//{
// male,
// female,
// secret
//};
//int main()
//{
//	printf("%d\n", male);// 0
//	printf("%d\n", female);// 1
//	printf("%d\n", secret);// 2
//	return 0;
//}


//#define max 10//define 定义标识符常量
//int main()
//{
//	int arr[max] = { 0 };
//	printf("%d\n", max);
//	return 0;
//}



//int main()
//{
//	const int num = 4;//const-常量，作用使num具有常量属性，本质还是一个变量，是一个常变量
//		printf("%d\n",num);
//	return 0;
//}



//int main()
//{
	//int studentnumber = 0;
	//float clanguage = 0.0;
	//float match = 0.0;
	//float english = 0.0;
	//scanf("%d;%lf,%lf,%lf", &studentnumber, &clanguage, &match, &english);
	//printf("The each subject score of  No. %d is %.2f, %.2f, %.2f.\n.", studentnumber, clanguage, match, english);
//}



//int main()
//{
	//int ret = printf("Hello world!");
	//printf("\n");
	//printf("%d\n", ret);
	//return 0;
//}